#include <stdio.h>

typedef union {
    char a[50];              
    struct { int b; int c; }d ; 
    int e;                   
} A;                       

typedef struct {
    int a;               
    char b[50];           
    A c;                    
    int d;                   
} B;                    

int main() {
    B p[5];               
    int t = 0;             

    for (int i = 0; i < 5; i++) {
        printf("输入商品 %d 的信息：\n", i + 1);
        printf("商品编号：");
        scanf("%d", &p[i].a);
        printf("商品名称：");
        scanf("%s", p[i].b);
        printf("库存类型(1-无库存无法订货,2-补货中,3-有库存)：");
        scanf("%d", &p[i].d);

        switch (p[i].d) {
            case 1:
                printf("无法订货原因：");
                scanf("%s", p[i].c.a);
                break;
            case 2:
                printf("补货数量和预售数量：");
                scanf("%d %d", &p[i].c.d.b, &p[i].c.d.c);
                break;
            case 3:
                printf("库存数量：");
                scanf("%d", &p[i].c.e);
                t += p[i].c.e;
                break;
            default:
                printf("无效类型！\n");
                i--;
        }
    }

    printf("总库存量：%d\n", t);
    return 0;
}